package org.example.factoryMethod;

/**
 * org.example.factoryMethod
 *
 * @author 莫磊
 * @description 工厂方法模式：
 *                  1.可以解决简单工厂模式当中的OCP问题：一个工厂对应一种产品，这样工厂就不是全能类，符合OCP原则
 *                  2.工厂方法模式中的角色
 *                      抽象产品角色
 *                      具体产品角色
 *                      抽象工厂角色
 *                      具体工厂角色
 *                  3.添加一个新的产品时只需要添加一个产品类，一个产品工厂类即可，符合OCP原则
 *              缺点：
 *                  每次增加一个产品时都需要增加一个具体类和对象实现工厂，使得系统中类的个数成倍增加，
 *                  在一定程度上增加了系统复杂度，同时也增加了系统具体类的依赖。并不是什么好事
 * @date 2025/7/20
 */
public class FactoryMethod {

    public static void main(String[] args) {
        WeaponFactory gunFactory = new GunFactory();
        gunFactory.get();
    }
}
